SPIR

您所在的位置:网站首页 spirv 编译器 SPIR

SPIR

2024-07-12 13:09| 来源: 网络整理| 查看: 265

我有一个电脑着色器:

代码语言:javascript复制#version 450 #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_gpu_shader_int64 : enable layout(local_size_x_id = 0) in; layout(set = 0, binding = 0) buffer Foo { u64vec2[256] scratchpad; } foo; layout(set = 0, binding = 1) uniform Bar { u64vec2 a; u64vec2 b; } bar; void main() { int foobar = 0; int baz = 0; }

我用glslangValidator从LunarG SDK1.0.65.0编译了它,并使用spirv-val检查它,它没有返回任何内容。我在创建shaderInt64时启用了VkDevice。当使用vkCreateShaderModule加载此着色器时,我得到以下验证错误:

SPIR-V module not valid: Invalid instruction word count: 0

当我执行下列任何一项操作时,验证错误就会消失:

删除64位扩展并将所有类型更改为int。移除Foo或Bar缓冲区删除main中的任一变量删除layout(local_size_x_id = 0) in

我的问题是,这是编译器或验证层中的一个bug,还是我错误地使用了这些特性之一?



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3